# -*- coding: utf8 -*-
'''
    1.2.2 图像的轮廓和直方图
'''

from PIL import Image
from pylab import array, figure, gray, contour, title, axis, hist, show

infile = 'img/haizei.jpg'

# 读取图像到数组中
im = array(Image.open(infile).convert('L'))

# 新建一个图像
figure()

# 不使用颜色信息
gray()

# 在原点的左上角显示轮廓图像
contour(im, origin='image')

# 添加标题，显示绘制的图像
title('Ploting: "Haizei.jpg"')
# 防止宽高比变化
axis('equal')
# 隐藏坐标轴
axis('off')

figure()
# hist(一维数组, 小区间的数目)
hist(im.flatten(), 128)
show()

'''
  因为hist()只接受一维数组作为输入，所以我们在绘制图像直方图之前，必须先对图像进行压平处理。flatten()方法将任意数组按照行优先准则转换成一维数组。
'''
